Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: integrate aggoracle #438

Closed
wants to merge 21 commits into from
Closed

Conversation

jhkimqd
Copy link
Collaborator

@jhkimqd jhkimqd commented Jan 8, 2025

Description

This PR integrates the AggKit's AggOralce and AggSender components into Kurtosis CDK.

The AggOracle component ensures the Global Exit Root (GER) is propagated from L1 to the L2 sovereign chain smart contract. This is critical for enabling asset and message bridging between chains.

The GER is picked up from the smart contract by LastGERSyncer for local storage.

AggSender is a component that will send certificates to the AggLayer

The deployment relies on deploy_optimism_rollup parameter to be set to True. This will deploy a OP network which is in theory completely decoupled with the existing CDK networks at first.

This PR will deploy the sovereign contracts onto the sovereign network and deploy the AggOracle and AggSender components to allow the sovereign network to bridge from/to L1 and the CDK networks.

Testing

Tested locally with Kurtosis CDK + OP Stack enabled. Tested the deployment of the AggOracle, AggSender and made bridge deposit/claims from/to L1<->Sovereign network using the SPN.

Bridge transactions were made using polycli ulxly commands.

@jhkimqd jhkimqd marked this pull request as draft January 8, 2025 15:30
@vcastellm
Copy link
Contributor

vcastellm commented Jan 20, 2025

Ideally the implementation here would be:

  • A new combination that can run aggoracle from the aggkit binary image
  • Do not run cdk-erigon, aggregator, cdk-node, or any other cdk component
  • Run vanilla geth as the sovereign L2

This should be the main behavior

@jhkimqd
Copy link
Collaborator Author

jhkimqd commented Jan 20, 2025

Thank you for the feedback! I'll need to update the PR notes.. it's a bit outdated

A new combination that can run aggoracle from the aggkit binary image

I think this should be the behavior as well. Currently, the aggoracle/aggsender runs on a temporarily built CDK image, which should be replaced with something else - in this case the aggkit binary image.

Do not run cdk-erigon, aggregator, cdk-node, or any other cdk component

Although the current implementation runs cdk-erigon, aggregator, cdk-node, etc.. it is all decoupled from the aggkit components. The aggoracle/aggsender components only attach to the sovereign rollup, and in theory is completely unaware of the other cdk components. We've ran the other components along with the aggkit + sovereign rollup to allow easier testing like bridging between different networks.

Run vanilla geth as the sovereign L2

I think this shouldn't be too difficult to do as well. In theory, everything else will remain, and we just need to replace the OP geth to vanilla geth.

@jhkimqd jhkimqd mentioned this pull request Jan 29, 2025
@jhkimqd
Copy link
Collaborator Author

jhkimqd commented Jan 29, 2025

Closing in favor of #452

@jhkimqd jhkimqd closed this Jan 29, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants